package fi.iki.mkuokkanen.seda.api; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.server.handler.HandlerList; import com.google.inject.AbstractModule; import com.google.inject.Singleton; import fi.iki.mkuokkanen.seda.api.resources.ResourceContext; import fi.iki.mkuokkanen.seda.api.resources.ResourceContextProvider; import fi.iki.mkuokkanen.seda.api.session.SessionManager; import fi.iki.mkuokkanen.seda.api.session.SessionManagerImpl; import fi.iki.mkuokkanen.seda.api.websocket.WebSocketContext; import fi.iki.mkuokkanen.seda.api.websocket.WebsocketContextProvider; /** * Guice Module for WebSocket API Layer * * @author mkuokkanen */ public class WebsocketModule extends AbstractModule { @Override protected void configure() { bind(SedaServer.class).in(Singleton.class); bind(Server.class).toProvider(ServerProvider.class).in(Singleton.class); bind(Connector.class).toProvider(ConnectorProvider.class); bind(HandlerList.class).toProvider(HandlerListProvider.class); bind(ContextHandler.class).annotatedWith(WebSocketContext.class).toProvider(WebsocketContextProvider.class) .in(Singleton.class); bind(ContextHandler.class).annotatedWith(ResourceContext.class).toProvider(ResourceContextProvider.class) .in(Singleton.class); bind(SessionManager.class).to(SessionManagerImpl.class).in(Singleton.class); } }